function [TrainingTime, TestingTime, TrainingAccuracy, TestingAccuracy]  = GSCN_model(data_train,data_test,L_max,Lambdas,mode)
    %% Parameter Setting
%     L_max = 50;                     % maximum hidden node number
%     Lambdas = [200:1:250];          % scope sequence 成员产生的上下界  
    tol = 0.001;                    % training tolerance
    MaxIter = 100;                    % maximun candidate nodes number
    r =  [0.999999];    % 1-r contraction sequence
    alpha  = 1e-6;      %低秩估计消去奇异值的阈值
    mode = 3;           %是否开启低秩估计1不开，2开启 3 使用本仓库的求逆算法
    eta = 0;            % HPO搜索适应度函数的正则化项
    [~,~,~,T, ~] = Generate_T_P(1, data_train);
    [~,~,~,T_test, ~] = Generate_T_P(1, data_test); 
    
    %% Model Initialization
    gscn = GSCN(L_max, MaxIter, tol, Lambdas, r, eta, alpha, mode);
    
    %% Model Training
    % M is the trained model
    % per contains the training error with respect to the increasing L
    
    [gscn, TrainingAccuracy,TrainingTime] = gscn.My_Classification(data_train(:,2:end), T');
    
    start_time_train=cputime;
    [TestingAccuracy, ~] = gscn.GetAccuracy(data_test(:,2:end), T_test');
    end_time_train=cputime;
    TestingTime=end_time_train-start_time_train; 
end